package entidades;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.ManyToOne;
import javax.persistence.JoinColumn;
import javax.persistence.CascadeType;
import javax.persistence.Transient;

@Entity
@Table(name = "aluno")
@SequenceGenerator(name="aluno_seq", sequenceName="aluno_id_aluno_seq",allocationSize=1)
public class Aluno {

	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "aluno_seq")
	private int id_aluno;
	private String nome;
	private String rg;
	private String cpf;
	private String uf_rg;
	@Temporal(TemporalType.DATE)
	private Date data_nascimento;
	private String local_nascimento;
	private String uf_nascimento;
	private String estado_civil;
	private String telefone_residencial;
	private	String telefone_celular;
	private String situacao;
	private float nota;
	private float frequencia;
	private String sexo;
	@OneToOne(cascade=CascadeType.ALL)
	@JoinColumn(name="conhecimento_aluno")
	private Conhecimento conhecimento;
	@ManyToOne(cascade=CascadeType.PERSIST)
	@JoinColumn(name="turma_aluno")
	private Turma turma;
	@OneToOne(cascade=CascadeType.ALL)
	@JoinColumn(name="endereco_aluno")
	private Endereco endereco;
	@OneToOne(cascade=CascadeType.ALL)
	@JoinColumn(name="certificado_aluno")
	private Certificado certificado;
	@Transient
	private String notaAluno;
	@Transient
	private String frequenciaAluno;
	
	public void setId_aluno(int id_aluno) {
		this.id_aluno = id_aluno;
	}
	public int getId_aluno() {
		return id_aluno;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getNome() {
		return nome;
	}
	public void setUf_rg(String uf_rg) {
		this.uf_rg = uf_rg;
	}
	public String getUf_rg() {
		return uf_rg;
	}
	public void setData_nascimento(Date data_nascimento) {
		this.data_nascimento = data_nascimento;
	}
	public Date getData_nascimento() {
		return data_nascimento;
	}
	public void setLocal_nascimento(String local_nascimento) {
		this.local_nascimento = local_nascimento;
	}
	public String getLocal_nascimento() {
		return local_nascimento;
	}
	public void setEstado_civil(String estado_civil) {
		this.estado_civil = estado_civil;
	}
	public String getEstado_civil() {
		return estado_civil;
	}
	public void setSituacao(String situacao) {
		this.situacao = situacao;
	}
	public String getSituacao() {
		return situacao;
	}
	public void setRg(String rg) {
		this.rg = rg;
	}
	public String getRg() {
		return rg;
	}
	public void setCpf(String cpf) {
		this.cpf = cpf;
	}
	public String getCpf() {
		return cpf;
	}
	public void setTelefone_residencial(String telefone_residencial) {
		this.telefone_residencial = telefone_residencial;
	}
	public String getTelefone_residencial() {
		return telefone_residencial;
	}
	public void setTelefone_celular(String telefone_celular) {
		this.telefone_celular = telefone_celular;
	}
	public String getTelefone_celular() {
		return telefone_celular;
	}
	public void setConhecimento(Conhecimento conhecimento) {
		this.conhecimento = conhecimento;
	}
	public Conhecimento getConhecimento() {
		return conhecimento;
	}
	public void setTurma(Turma turma) {
		this.turma = turma;
	}
	public Turma getTurma() {
		return turma;
	}
	public void setEndereco(Endereco endereco) {
		this.endereco = endereco;
	}
	public Endereco getEndereco() {
		return endereco;
	}
	public void setUf_nascimento(String uf_nascimento) {
		this.uf_nascimento = uf_nascimento;
	}
	public String getUf_nascimento() {
		return uf_nascimento;
	}
	public void setNota(float nota) {
		this.nota = nota;
	}
	public float getNota() {
		return nota;
	}
	public void setFrequencia(float frequencia) {
		this.frequencia = frequencia;
	}
	public float getFrequencia() {
		return frequencia;
	}
	public void setSexo(String sexo) {
		this.sexo = sexo;
	}
	public String getSexo() {
		return sexo;
	}
	public void setNotaAluno(String notaAluno) {
		this.notaAluno = notaAluno;
	}
	public String getNotaAluno() {
		return notaAluno;
	}
	public void setFrequenciaAluno(String frequenciaAluno) {
		this.frequenciaAluno = frequenciaAluno;
	}
	public String getFrequenciaAluno() {
		return frequenciaAluno;
	}
	public void setCertificado(Certificado certificado) {
		this.certificado = certificado;
	}
	public Certificado getCertificado() {
		return certificado;
	}

}
